﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Reporting.WebForms;
using STT.Business;
using STT.Entities;
using STT.Layer.Connection;
using System.Data;
using System.Configuration;
using System.IO;
using Aspose.Words;


namespace STT.Report
{
    public partial class PhieuThu : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {

            string Ma_HV = Request.QueryString["name"].ToString().Trim();
            DataTable dt = BTbHocVien.SelectByIDMaHV(

              Ma_HV
           );
            string hoten = dt.Rows[0]["TenHV"].ToString() + " " + dt.Rows[0]["Ten"].ToString();
            string gioitinh = dt.Rows[0]["GioiTinh"].ToString();
            string ngaysinh = "";
            try
            {
                ngaysinh = DateTime.Parse(dt.Rows[0]["NgaySinh"].ToString()).ToString("dd/MM/yyyy");
            }
            catch
            {

            }

            string dienthoai = dt.Rows[0]["Sdt"].ToString();
            string diachi = dt.Rows[0]["DiaChi"].ToString();
            string mail = dt.Rows[0]["Email"].ToString();
            string taikhoan = dt.Rows[0]["MaHV"].ToString();
            string matkhau = "123456";
            string website = "dtnh.epu.edu.vn";
            string khoahoc = "Đào tạo quản lý";
            ltphieuthu.Text = "<table style ='width :100%'> <tr align='center'><td><b>TRƯỜNG ĐẠI HỌC ĐIỆN LỰC</b></td><td align='center' style='font-weight: 700'>CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM</td></tr><tr align='center'> <td > <span class='font-size: x-small; font-weight: bold;'>TRUNG TÂM ĐÀO TẠO THƯỜNG XUYÊN</span></td><td style='font-weight: 700' >ĐỘC LẬP - TỰ DO - HẠNH PHÚC</td></tr><tr align='center' ><td >&nbsp;</td> <td><p> Hà Nội, Ngày 18 tháng 8 năm 2014</p></td></tr><tr align='center'> <td colspan='2' ><b style=' font-size:large;'>PHIẾU NHẬP HỌC<br /></b>(Hình thức đào tạo ngắn hạn)</td></tr>``<tr align='center'> <td colspan='2' >&nbsp;</td> </tr><tr align='left' style='font-style: italic'><td> <p style='font-weight: bold'>Họ và tên: " + hoten + "</p></td><td>  <p>(Nam/Nữ): " + gioitinh + "</p> </td></tr><tr align='left' ><td><p style='font-style: italic'>Ngày sinh: " + ngaysinh + "</p></td><td><p style='font-style: italic'>Địa chỉ: " + diachi + "</p></td> </tr><tr align='left' > <td class='style1'><p style='font-style: italic'>Điện thoại: " + dienthoai + "</p></td> <td class='style1' ><p style='font-style: italic'>Hòm thư: " + mail + "</p></td></tr><tr align='center'> <td colspan='2' style='font-style: italic'> Đến tham gia nhập học khóa học:" + khoahoc + " </td> </tr><tr align='center'><td colspan='2' style='font-style: italic'> Thời gian: thứ hai, ngày 18/08/2014</td> </tr><tr align='center'><td colspan='2' style='font-style: italic; text-align: left;'> Ông (bà) đã được cấp tài khoản&nbsp; truy cập sau:</td></tr><tr align='center'><td colspan='2' style='font-style: italic; text-align: left;'>Tài khoản: " + taikhoan + "</td> </tr><tr align='center'><td colspan='2' style='font-style: italic; text-align: left;'> Mật khẩu: " + matkhau + "</td> </tr> <tr align='center'><td colspan='2' style='font-style: italic; text-align: left;'>(Tài khoản và mật khẩu được đăng nhập trên địa chỉ : " + website + ", Ông (bà) có thể truy cập vào trang website để xem các thông tin về thời khóa biểu, lịch thi, bảng điểm của mình trong suốt thời gian tham gia khóa học)</td> </tr><tr align='center'><td colspan='2' style='font-style: italic; text-align: left;'>&nbsp;</td></tr><tr align='center'><td style='font-style: italic; text-align: left;'>&nbsp;</td><td style='font-style: italic; ' class='text-align: center'><strong>Xác nhận </strong></td><tr align='center'><td style='font-style: italic; text-align: left;'>&nbsp;</td><td style='font-style: italic; ' class='text-align: center'> &nbsp;</td></tr> <tr align='center'><td style='font-style: italic; text-align: left;'> &nbsp;</td><td style='font-style: italic; ' class='text-align: center'>&nbsp;</td></tr></table>";


            //bắt Reportviewer hiển thị ở chế độ PrintLayout (trông sẽ đẹp mắt hơn)
            //rpvPhieuThu.ZoomMode = ZoomMode.Percent;
            //đặt chế độ Zoom cho report là theo phần trăm
            //rpvPhieuThu.ZoomPercent = 70;
            //và zoom nó lên 100%


        }

        protected void btnDownload_Click(object sender, EventArgs e)
        {
            string Ma_HV = Request.QueryString["name"].ToString().Trim();
            DataTable dt = BTbHocVien.SelectByIDMaHV(

              Ma_HV
           );
            string hoten = locDau(dt.Rows[0]["TenHV"].ToString() + "" + dt.Rows[0]["Ten"].ToString());
            ExportWordByTestQuestion(ltphieuthu.Text, hoten, hoten + ".doc", SaveFormat.Doc);
        }
        private void ExportWordByTestQuestion(string strHtmlExamQuestion, string hocvien, string FileName, SaveFormat saveFormat)
        {
            //Export in Word ExamQuestion
            string docpath = Server.MapPath(ConfigurationSettings.AppSettings["MauPhieuThu"]);
            Document doc = new Document(System.IO.Path.Combine(docpath, "Phieuthu.doc"));
            var builder = new DocumentBuilder(doc);
            //Tiếp tục in câu hỏi//
            strHtmlExamQuestion = strHtmlExamQuestion.Replace("<script>", "script");
            builder.InsertHtml(strHtmlExamQuestion);
            // Send the document in Word format to the client browser with an option to save to disk or open inside the current browser.

            string docpathsave = ConfigurationSettings.AppSettings["InboxPhieuThu"];
            if (Directory.Exists(HttpContext.Current.Server.MapPath(docpathsave) + hocvien + "/") == false)
            {
                //ko tồn tại trả về false
                Directory.CreateDirectory(HttpContext.Current.Server.MapPath(docpathsave) + hocvien + "/");
            }
            string time = DateTime.Today.ToShortDateString().Replace("/", "");
            if (Directory.Exists(HttpContext.Current.Server.MapPath(docpathsave) + hocvien + "/" + time + "/") == false)
            {
                //ko tồn tại trả về false
                Directory.CreateDirectory(HttpContext.Current.Server.MapPath(docpathsave) + hocvien + "/" + time + "/");
            }

            docpathsave = HttpContext.Current.Server.MapPath(docpathsave) + hocvien + "/" + time + "/";
            doc.Save(docpathsave + FileName);
            //WebMsgBox.Show("Lưu thành công đề thi " + FileName);
            //doc.Save(FileName , saveFormat, SaveType.OpenInBrowser, Response);
            //Download File Exam If Need
            //FileProcess.Download(FileName, docpathsave);
            string fullPath = HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["InboxPhieuThu"] + hocvien + "/" + time + "/" + FileName);
            fileDownload(FileName, fullPath);

        }
        public void fileDownload(string fileName, string fileUrl)
        {
            Page.Response.Clear();
            bool success = FileProcess.ResponseFile(Page.Request, Page.Response, fileName, fileUrl, 1024000);
            if (!success)
                Response.Write("Downloading Error!");
            Page.Response.End();

        }
        private static readonly string[] VietnameseSigns = new string[]
        {

        "aAeEoOuUiIdDyY",

        "áàạảãâấầậẩẫăắằặẳẵ",

        "ÁÀẠẢÃÂẤẦẬẨẪĂẮẰẶẲẴ",

        "éèẹẻẽêếềệểễ",

        "ÉÈẸẺẼÊẾỀỆỂỄ",

        "óòọỏõôốồộổỗơớờợởỡ",

        "ÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠ",

        "úùụủũưứừựửữ",

        "ÚÙỤỦŨƯỨỪỰỬỮ",

        "íìịỉĩ",

        "ÍÌỊỈĨ",

        "đ",

        "Đ",

        "ýỳỵỷỹ",

        "ÝỲỴỶỸ"

        };

        public static string locDau(string str)
        {

            for (int i = 1; i < VietnameseSigns.Length; i++)
            {

                for (int j = 0; j < VietnameseSigns[i].Length; j++)

                    str = str.Replace(VietnameseSigns[i][j], VietnameseSigns[0][i - 1]);

            }

            return str;

        }


    }
}